Recientemente, un emocionante desarrollo ha surgido con la introducción por parte de Alyssa Rosenzweig de Collabora (desarrolladora de los controladores Panfrost OpenGL para las GPU Mali y Asahi para las GPU Apple AGX) de un nuevo controlador Vulkan llamado Honeykrisp para la GPU incluida en los chips Apple M1.
A pesar de que el desarrollo del controlador solo lleva un mes, el consorcio Khronos ya ha reconocido que implementa completamente la especificación Vulkan 1.3 en equipos Apple con el chip M1. Honeykrisp es el primer controlador para chips Apple que tiene soporte certificado para la API de gráficos Vulkan.
El controlador “Honeykrisp” implementa la especificación completa 1.3 de Vulkan, sin necesidad de “renuncias” de portabilidad. Aunque aún no está disponible para los usuarios finales, su desarrollo continúa avanzando con la adición de nuevas características, mejoras de rendimiento y la expansión a más hardware.
Un aspecto destacado de este proyecto es la herencia del controlador NVK, que se ha construido siguiendo las mejores prácticas desarrolladas durante más de 7 años en el campo de los controladores Vulkan. Faith Ekstrand ha enfocado sus esfuerzos en crear un controlador limpio y bien organizado, con la esperanza de que NVK establezca un estándar para futuros controladores Vulkan.
El desafío de desarrollar un controlador Vulkan conformante para el hardware de Apple plantea varios retos, desde la adaptación de descriptores y shaders para la GPU M1, hasta la implementación de estados dinámicos y objetos de shader. La necesidad de superar obstáculos técnicos con creatividad y determinación ha sido evidente en cada etapa de desarrollo de “Honeykrisp”.
La rápida velocidad de desarrollo de este nuevo controlador se explica por el uso del controlador NVK Vulkan como base. NVK fue desarrollado originalmente para las GPU NVIDIA y fue portado a las GPU de Apple utilizando los desarrollos del controlador Asahi OpenGL. Cuando se creó el controlador NVK, los desarrolladores lo diseñaron con la intención de crear un nuevo controlador Vulkan de referencia para Mesa, cuyo código se podría reutilizar al crear otros controladores.
Actualmente, el código del controlador Honeykrisp se está desarrollando en una rama separada y aún no se ha integrado en el equipo principal de Mesa. Es importante señalar que el controlador todavía no ha sido lanzado a los usuarios finales, ya que aún se está trabajando en optimizar su rendimiento y aumentar su funcionalidad. Además, se planea adaptar el controlador para otros chips de la familia Apple Silicon.
En cuanto a la funcionalidad pendiente, se pretende llevar el controlador a un estado que soporte todas las extensiones adicionales, como VK_EXT_transform_feedback, necesarias para implementar la API de gráficos Direct3D utilizando las capas DXVK y vkd3d-proton. La compatibilidad con DXVK y vkd3d-proton permitirá utilizar el controlador Honeykrisp en Asahi Linux en equipos con chips Apple ARM para ejecutar juegos de Windows utilizando Wine y un emulador de arquitectura x86.
Fuente: https://rosenzweig.io
Discover more from Ready4Linux
Subscribe to get the latest posts to your email.